package criterioOrden;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import model.Publicacion.Pregunta;
import model.criterio.criterioOrden.CriterioOrdenVotos;
import model.criterio.criterioOrden.Orden;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class TestCriterioOrdenVotos {
	
	CriterioOrdenVotos c;
	Pregunta p;
	Pregunta p1;

	@Before
	public void setUp() throws Exception {
		c=new CriterioOrdenVotos(Orden.ASC);
		p=mock(Pregunta.class);
		p1=mock(Pregunta.class);
	}

	@Test
	public void test() {
		when(p.getCantVotos()).thenReturn(2);
		when(p1.getCantVotos()).thenReturn(1);
		Assert.assertEquals(1, c.compare(p, p1));
		verify(p,times(1)).getCantVotos();
		verify(p1,times(1)).getCantVotos();
		when(p.getCantVotos()).thenReturn(0);
		Assert.assertEquals(-1, c.compare(p, p1));
	}

}
